# Esta clase permite asignar usuarios a las cuentas. Esto permite que el usuario pueda interactuar con la cuenta generado comunicaciones con un contacto de la misma.
class UsuarioCuentasController < ApplicationController
  
  	before_filter :ensure_login
    before_filter :ensure_adm
  
# Prepara una nueva asignación que será posteriormente creada.
  def new
  	@usuario_cuenta = UsuarioCuenta.new	       
    respond_to do |format|
      format.html 
      format.xml  { render :xml => @usuario_cuenta }
    end
   
  end

# Crea la nueva asignación.
  def create
    cookies.delete :auth_token
    # protects against session fixation attacks, wreaks havoc with 
    # request forgery protection.
    # uncomment at your own risk
    # reset_session
    @usuario_cuenta = UsuarioCuenta.new(params[:usuario_cuenta])    
    @usuario_cuenta.cuenta_id = params[:cuenta_id]
    @usuario_cuenta.save    
    if @usuario_cuenta.errors.empty?
      redirect_back_or_default('/usuario_cuentas')
    else        	
      render :action => 'new'
    end
  end


  def edit
  end

  def index
  end


# Recupera los usuarios asignados a una determinada cuenta.
  def get_asignados  
  	
  	@usuario_cuentas = UsuarioCuenta.find(:all, :conditions => ['cuenta_id = ?',params[:cuenta_id]] )
    cuenta_id = params[:cuenta_id].to_i
    
    if cuenta_id != 0 then
    
    	render :partial => "todos", :locals => { :usuario_cuentas => @usuario_cuentas, :cuenta_id => params[:cuenta_id] }
    else
    	render :partial => "blank"	    	    
    end    
        
  end


 
# Elimina la asignación.
  def destroy
    @usuario_cuentas = UsuarioCuenta.find(params[:id])
    @usuario_cuentas.destroy
		respond_to do |format|
      format.html { redirect_to(usuario_cuentas_path) }
      format.xml  { head :ok }
    end
  end
  

end
